.TH tcpconnect 8  "2018-11-24" "USER COMMANDS"
.SH NAME
tcpconnect.bt \- Trace TCP active connections (connect()). Uses Linux bpftrace/eBPF
.SH SYNOPSIS
.B tcpconnect.bt
.SH DESCRIPTION
This tool traces active TCP connections (eg, via a connect() syscall;
accept() are passive connections). This can be useful for general
troubleshooting to see what connections are initiated by the local server.

All connection attempts are traced, even if they ultimately fail.

This works by tracing the kernel tcp_v4_connect() and tcp_v6_connect() functions
using dynamic tracing, and will need updating to match any changes to these
functions.

Since this uses BPF, only the root user can use this tool.
.SH REQUIREMENTS
CONFIG_BPF and bpftrace.
.SH EXAMPLES
.TP
Trace all active TCP connections:
#
.B tcpconnect.bt
.TP
.SH FIELDS
.TP
TIME(s)
Time of the call, in HH:MM:SS format.
.TP
PID
Process ID
.TP
COMM
Process name
.TP
SADDR
Source IP address.
.TP
SPORT
Source port.
.TP
DADDR
Destination IP address.
.TP
DPORT
Destination port
.SH OVERHEAD
This traces the kernel tcp_v[46]_connect functions and prints output for each
event. As the rate of this is generally expected to be low (< 1000/s), the
overhead is also expected to be negligible. If you have an application that
is calling a high rate of connects()s, such as a proxy server, then test and
understand this overhead before use.
.SH SOURCE
This is from bpftrace
.IP
https://github.com/iovisor/bpftrace
.PP
Also look in the bpftrace distribution for a companion _examples.txt file
containing example usage, output, and commentary for this tool.

This is a bpftrace version of the bcc tool of the same name. The bcc tool
may provide more options and customizations.
.IP
https://github.com/iovisor/bcc
.SH OS
Linux
.SH STABILITY
Unstable - in development.
.SH AUTHOR
Brendan Gregg, adapted for bpftrace by Dale Hamel
.SH SEE ALSO
tcpaccept(8), funccount(8), tcpdump(8)
